package com.sxj.corejava.code19_静态代理;

import java.text.SimpleDateFormat;
import java.util.Date;

public class UserServiceProxy implements UserService {

    // private UserService userService = (UserService) ObjectFactory.getObject("userServiceTarget");
    private UserService userService = new UserServiceImpl();

    @Override
    public String login(String username, String password) {
        System.out.println("在" + new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss").format(new Date()) + "准备执行目标对象的login方法,方法的参数为:username=" + username + ",password=" + password);
        // 执行目标对象的核心业务逻辑
        String value = userService.login(username, password);
        System.out.println("代理对象在执行目标对象的核心业务逻辑之后,目标方法的返回值为:" + value);
        return value;
    }

    @Override
    public void register(String username, String password) {
        System.out.println("在" + new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss").format(new Date()) + "准备执行目标对象的register方法,方法的参数为:username=" + username + ",password=" + password);
        // 执行目标对象的核心业务逻辑
        userService.register(username,password);
        System.out.println("代理对象在执行目标对象的核心业务逻辑之后,目标方法没有返回值");
    }
}
